草庐IT

java - 在java中有条件地使用getType测试子类

全部标签

ruby-on-rails - 在 ruby​​ on rails 中使用连接表

假设我有两个数据库:一个用于学生,一个用于类(class)。我希望能够为特定学生“添加”类(class),也能够将学生添加到特定类(class)。我假设我需要在这里使用连接表,但我对如何使用它们有点迷茫。我最终希望能够做类似的事情:@class.students.find(@student_id)这会告诉我学生是否在类。我知道类(class)和学生之间的关系是“has_many”,反之亦然。在迁移文件中执行't.references:students'是否可以做到这一点?我尝试将该行添加到我的迁移文件中,然后尝试使用上面的语句查找内容,但它给了我一个错误。我是RoR的新手,所以我什至不

ruby - 在 Ruby gsub block (正则表达式)中使用命名捕获组

我正在尝试在Ruby的block内使用命名捕获组。$1仍然有效,但我想使用我提供的名称来引用它。"foo/(bar)".gsub(/(?\(.*?\))/x)do|match|puts"$1=#{$1}and$my_word=#{$my_word}"end预期:$1=(bar)and$my_word=(bar) 最佳答案 你在找"foo/(bar)".gsub(/(?\(.*?\))/x)do|match|puts"$1=#{$1}and$my_word=#{$~[:my_word]}"end

ruby-on-rails - 使用 USR2 重新启动 Unicorn 似乎不会重新加载 production.rb 设置

我正在运行unicorn并试图实现零停机重启。到目前为止一切都是很棒的调味料,主进程fork并启动4个新worker,然后杀死旧worker,大家都很高兴。我们的脚本发送以下命令来重启unicorn:kill-sUSR2`cat/www/app/shared/pids/unicorn.pid`从表面上看一切都很好,但事实证明unicorn并没有重新加载production.rb。(每次部署时,我们都会将config.action_controller.asset_host值更改为一个新的CDN容器端点,其中包含我们预编译的Assets)。以这种方式重新启动unicorn后,Assets

ruby-on-rails - 尝试在测试中运行 rails c 时获取 config.eager_load 设置为 nil

我正在尝试运行Rails(4.1.2)控制台railscRAILS_ENV=test我得到这个:>config.eager_loadissettonil.Pleaseupdateyour>config/environments/*.rbfilesaccordingly:>>*development-setittofalse*test-setittofalse(unless>youuseatoolthatpreloadsyourtestenvironment)*production->setittotrue>>/Users/xxxxxx/.rvm/gems/ruby-2.2.2/gems

ruby - 如何让 Jekyll 在不指定的情况下使用布局?

为了让我的一些Jekyll网站保持简单,我总是使用相同的布局。也就是说,我总是在写类似的东西。..---layout:defaulttitle:Here'smyTitle---...作为YAMLFrontMatter在我的页面顶部。然而,我宁愿写的只是。..---title:Here'smyTitle---...并让Jekyll假设它应该使用某种布局,就好像我已经明确地写了“layout:default”(或其他),如上所述。我没有在_config.yml中看到指定此行为的方法.也许我可以写一个Jekyllplugin那将允许这样做。..有什么想法吗? 最佳

ruby-on-rails - 使用 Rspec + Capybara 在 Rails 中测试错误页面

在Rails3.2.9中,我有如下定义的自定义错误页面:#application.rbconfig.exceptions_app=self.routes#routes.rbmatch'/404'=>'errors#not_found'效果如预期。当我在development.rb中设置config.consider_all_requests_local=false时,我在访问/foo时得到了not_foundView/p>但是我该如何使用Rspec+Capybara来测试呢?我已经试过了:#/spec/features/not_found_spec.rbrequire'spec_hel

ruby-on-rails - RSpec 测试使用 GET 参数重定向到 URL

假设我有一个带有redirect_to_baz方法的FoosController。classFoosController我正在使用spec/controllers/foos_controller_spec.rb对此进行测试:require'spec_helper'describeFoosController,:type=>:controllerdodescribe"GETredirect_to_baz"doit"redirectstoexample.comwithparams"doget:redirect_to_bazexpect(response).toredirect_to"htt

ruby - 测试 rake 任务

我正在开发一个依赖于许多自定义Rake任务的ROR应用程序。测试它们的最佳方法是什么? 最佳答案 类似于:defexecute_rake(file,task)require'rake'rake=Rake::Application.newRake.application=rakeRake::Task.define_task(:environment)load"#{Rails.root}/lib/tasks/#{file}"rake[task].invokeend根据您的规范:execute_rake("tags.rake","tags

ruby-on-rails - 测试 "infinite loops"的最佳做法是什么?

我的基本逻辑是在某个地方运行一个无限循环并尽可能地测试它。无限循环的原因并不重要(游戏的主循环,类似守护进程的逻辑......)而且我更多地询问关于这种情况的最佳实践。让我们以这段代码为例:moduleBlahextendselfdefrunsome_initializer_methodloopdosome_other_methodyet_another_methodendendend我想使用Rspec测试方法Blah.run(我也使用RR,但简单的rspec将是一个可接受的答案)。我认为最好的方法是分解更多,比如将循环分离成另一个方法或其他东西:moduleBlahextendsel

加载脚本时何时使用异步与延期?

因此,我最近了解到,将您的JS放在DOM的底部是过时的,我应该再次将它们放在具有“异步”和“递延”属性。伟大的。但是,根据优先级,我对应该使用的是有点困惑。所以我有:jQuery对页面外观没有立即影响的jQuery插件确实对页面外观有直接影响的jQuery插件我自己的个人脚本,对页面的外观有直接影响,也依赖于jQuery哪个应该得到异步,哪个应该延期?如果我正确理解所有这些,那么对网站的外观没有立即影响的所有这些都应该延迟,而其他所有内容都变得异步。正确的?还是我把这些混在一起了。看答案这很简单。您应该使用[async]对于可以按任何顺序执行的脚本,以及[defer]对于在解析HTML后必须执